*----------------------------------------------------------------------*
***INCLUDE LZFIFG_VIM_SCREEN_ENHF01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*----------------------------------------------------------------------*
***INCLUDE LZOPT_VIM_SCREENF01
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module PBO_9000 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE pbo_9000 OUTPUT.
  PERFORM frm_pbo_9000.
*  CALL METHOD gh_idx_application->mh_idx_ui_controller->processing_pbo_all_tabs.

ENDMODULE.

*&---------------------------------------------------------------------*
*& Module SET_CURSOR_1000 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE set_cursor_1000 OUTPUT.
  PERFORM set_cursor_1000 IN PROGRAM /opt/saplvim_idx_ui.
ENDMODULE.


*&---------------------------------------------------------------------*
*&      Module  GET_CURSOR_1000  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE get_cursor_1000 INPUT.
  PERFORM get_cursor_1000 IN PROGRAM /opt/saplvim_idx_ui.
ENDMODULE.


FORM frm_pbo_9000.
  DATA: lv_scrnm  TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)gh_idx_application',
        lv_scrat1 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_attribute1',
        lv_scrat2 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_attribute2',
        lv_scrat3 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_attribute3',
        lv_scrat4 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_attribute4',

        lv_scrcf4 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_custom_field4',
        lv_scrcf5 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_custom_field5',
        lv_scrcf6 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_custom_field6',
        lv_scrcf7 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_custom_field7',
        lv_scrcf8 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_custom_field8',
        lv_scrcf9 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_custom_field9',
        lv_scrcf0 TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)t_custom_field0'.

  DATA: lv_exception TYPE char50 VALUE '(/OPT/SAPLVIM_IDX_UI)gv_exception'.
*  BREAK-POINT.
  FIELD-SYMBOLS: <fv_idx_application> TYPE REF TO /opt/cl_c_idx_application,
                 <fv_value>           TYPE any.

*  IF gh_idx_application IS INITIAL.
  ASSIGN (lv_scrnm) TO <fv_idx_application>.
  IF <fv_idx_application> IS ASSIGNED.
    gh_idx_application = <fv_idx_application>.
  ENDIF.
*  ENDIF.

  UNASSIGN <fv_value>.
  ASSIGN (lv_scrat1) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_attribute1 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrat2) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_attribute2 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrat3) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_attribute3 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrat4) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_attribute4 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrcf4) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_custom_field4 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrcf5) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_custom_field5 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrcf6) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_custom_field6 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrcf7) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_custom_field7 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrcf8) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_custom_field8 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrcf9) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_custom_field9 = <fv_value>.
  ENDIF.
  UNASSIGN <fv_value>.
  ASSIGN (lv_scrcf0) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    t_custom_field0 = <fv_value>.
  ENDIF.

  UNASSIGN <fv_value>.
  ASSIGN (lv_exception) TO <fv_value>.
  IF <fv_value> IS ASSIGNED.
    gv_exception = <fv_value>.
  ENDIF.

  CALL METHOD gh_idx_application->mh_idx_ui_controller->processing_pbo_all_tabs.

ENDFORM.


*&---------------------------------------------------------------------*
*&      Module  MOD_VRM_ATTR1  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE mod_vrm_attr1 INPUT.
  PERFORM frm_vrm_attr1.
ENDMODULE.


FORM frm_vrm_attr1.
  DATA: lt_value TYPE vrm_values,
        ls_value TYPE vrm_value.

  ls_value-key = 'X'.
  ls_value-text = '是'.
  APPEND ls_value TO lt_value.

  ls_value-key = space.
  ls_value-text = '否'.
  APPEND ls_value TO lt_value.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id              = 'GH_IDX_APPLICATION->MS_IDX_HEADER-ATTRIBUTE1'
      values          = lt_value
    EXCEPTIONS
      id_illegal_name = 1
      OTHERS          = 2.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.


ENDFORM.
